草庐IT

TypeScript 循环

全部标签

javascript - 简化我的函数(循环、数组)?

我有一个重复几次的函数,我相信可以简化并从数组发送变量。vari=masterdata.timing.split(',');varindex=0;for(index=0;index也许只需将类别更改为变量并从数组发送类别?varchkgroup=['timing,concern,steps'] 最佳答案 您的想法应该可行:vari;varindex=0;varj=0;varchkgroup=['timing','concern','steps'];varcurrentGroup;for(j=0;j如果chkgroup数组确实与mas

等待用户输入的javascript嵌套循环

我不久前用C#构建了一个C解释器,现在开始将其转换为Javascript。一切都很顺利,直到我意识到js没有sleep功能。我的解释器使用递归解析器,当它嵌套了多个函数时,它会暂停以等待用户输入(在C#中,我在第二个线程中使用了waithandle)。我看过setInterval和setTimeout但它们是异步/非阻塞的;当然,busywait是不可能的,我查看了在SO上找到的timed_queue实现,但没有运气。我在主窗口和网络worker中都尝试过解析器。我正在使用jQuery。我对js的经验有限,正在寻找可以追求的想法。我对持续传球风格或yield知之甚少,想知道它们是否可能

javascript - 循环 promise

我处于这样一个场景中,我必须按顺序从服务器获取数据,我想在Promises的帮助下做到这一点。到目前为止,这是我尝试过的:functiongetDataFromServer(){returnnewPromise(function(resolve,reject){varresult=[];(functionfetchData(nextPageToken){server.getData(nextPageToken).then(function(response){result.push(response.data);if(response.nextPageToken){fetchData(

JavaScript For 循环数组迭代问题 - 使用一个循环与两个循环

这个问题的目的是遍历一个列表,找到列表中的最大值,然后报告最大值的索引值。我能够使用两个for循环解决这个问题:varscores=[60,50,58,54,54,58,50,52,54,48,69,34,55,51,52,44,51,69,64,66,55,52,44,18,41,53,55,61,51,44];varhighscore=0;varhighscoreSolutions=[];for(vari=0;ihighscore){highscore=scores[i];}}for(vari=0;i我最初尝试只使用一个for循环来解决这个问题,但是我遇到了各种初始化问题,也就是说

javascript - 从Typescript中的实例访问静态方法

为什么我不能这样做?是由于Javascript/Typescript的技术限制,还是Typescript开发人员的设计决定?同样的代码在Java或C#中也能正常工作。classTest{staticstr:string="test";publicstaticgetTest():string{returnthis.str;}}//worksasexpectedconsole.log(Test.getTest());//won'tcompilevartest:Test=newTest();console.log(test.getTest()); 最佳答案

javascript - Typescript es6 模块重新导出可变变量绑定(bind)

我正在尝试使用es6模块语法重新导出变量,然后更改它并查看最终导入中反射(reflect)的更改。但它没有按预期工作。请参见下面的示例:a.tsexportvara=1;exportfunctionchangeA(){a=2;}b.tsexport*from'./a';c.tsimport{a,changeA}from'./b';console.log(a);//1changeA();console.log(a);//Expected2butget1tsconfig.json{"compilerOptions":{"target":"es5","module":"commonjs","

javascript - 无法转换包含异步等待的 TypeScript

当尝试转译以下包含async和await关键字的TypeScript代码时asyncfunctionfoo(){awaitbar();}出现以下错误src/aa.ts(1,7):errorTS1005:';'expected.src/aa.ts(2,11):errorTS1005:';'expected.结果是一个包含此内容的.js文件async;functionfoo(){await;bar();}我正在使用这些tsc选项:-tes6-mcommonjs,遵循thisMSDNblog上的说明.我安装了TypeScript1.8.9。有什么想法吗? 最佳答案

javascript - 如何在 TypeScript 中键入带有类的数组?

我有一个应用程序,它通过运行其方法.init(params)进行初始化,如下所示:app.init([TopBar,StatusBar,MainArea]);其中TopBar、StatusBar和MainArea是类,而不是类的实例。这些类中的每一个都实现相同的接口(interface)IComponent。我想从.init(params)方法中传递的类中实例化对象,如下所示:init(params:IComponent[]):void{params.map(function(component){letcomp=newcomponent();this.components[comp.

javascript - 在 TypeScript 中定义 js-data 资源

是否可以使用TypeScript类创建js-data资源定义?我通常想要的是对计算属性和实例方法定义提供完整的类型支持。像这样的东西会很棒:classSomeModel{publicsomeBusinessModelValue='foo';publicsomeMoreValues='bar';publicgetsomeComputedProperty(){returnthis.someBusinessModelValue+someMoreValues;}publicinstanceMethod(param:string){returnthis.someMoveValues.search

Javascript:for..in 循环运行次数超过预期

在下面的代码中,user.roles的实际长度是1,但是循环了两次。当我输出i的值时,它在第二次迭代中显示为“diff”。切换到普通的for循环解决了这个问题。但是,我想知道for..in循环有什么问题。for(variinuser.roles){if(user.roles[i].school.equals(schoolId)){for(varjinuser.roles[i].permissions){for(varkinaccessType){if(user.roles[i].permissions[j].feature==featureKey){if(user.roles[i].p